Systems, devices and methods for use in proximity-based networking

ABSTRACT

In general, the present invention provides in one aspect thereof a device for proximity-based communication between the device and at least a second device. The device preferably includes: a communication unit adapted to communicate between the first device and the second device in a wireless manner; a network layer that includes a communication specification for communicating information between the device and the second device through the communication unit, the network layer being adapted to determine or detect physical proximity between the device and the second device and communicate information regarding detection of physical proximity between the device and the second device or a lack of detection of physical proximity between the device and the second device; a PAN Cell Management layer that receives the physical proximity information from the network layer over time, the PAN Cell Management layer translating the physical proximity detection information received over time into time-and proximity-based events; and an application layer including a memory in which at least one computer application is stored, the PAN Cell Management layer communicating information of occurrence of at least one of the proximity-based events to the computer application so that the computer application can perform a task programmed to be performed on occurrence of the one of the proximity-based events.

RELATED APPLICATION

[0001] U.S. Provisional Patent Application Serial No. 60,165,54 entitledSYSTEMS, DEVICES AND METHODS FOR USE IN PROXIMITY-BASED NETWORKING filedNov. 15, 1999, the disclosure of which is incorporated herein byreference.

FIELD of the INVENTION

[0002] The present invention relates to systems, devices and methods foruse in proximity-based networking and, especially, to systems, devicesand methods for use in proximity-based networking and programming usingwireless communication.

BACKGROUND of the INVENTION

[0003] Low cost information access devices (such as cellular phones andhand held computers) are becoming ubiquitous and traditional laptops andpersonal computers are quickly evolving to more readily operate in awireless environment. As these devices are able to directly andindirectly interact with each other over short-range, wirelesscommunications (for example, radio frequency) systems, a new class ofapplications will emerge.

[0004] The present invention provides a programming paradigm tofacilitate such new applications.

SUMMARY of the INVENTION

[0005] In general, the present invention provides, in one aspectthereof, a device for proximity-based communication between the deviceand at least a second device. The device preferably includes:

[0006] a communication unit adapted to communicate between the firstdevice and the second device in a wireless manner;

[0007] a network layer that includes a communication specification forcommunicating information between the device and the second devicethrough the communication unit, the network layer being adapted todetermine or detect physical proximity between the device and the seconddevice and communicate information regarding detection of physicalproximity between the device and the second device or a lack ofdetection of physical proximity between the device and the seconddevice;

[0008] a PAN Cell Management layer that receives the physical proximityinformation from the network layer over time, the PAN Cell Managementlayer translating the physical proximity detection information receivedover time into time-and proximity-based events;

[0009] an application layer including a memory in which at least onecomputer application is stored, the PAN Cell Management layercommunicating information of occurrence of at least one of theproximity-based events to the computer application so that the computerapplication can perform a task programmed to be performed on theoccurrence of one of the proximity-based events.

[0010] The device preferably further includes a network protocol layerthat includes a protocol for transmission of data between the device andthe second device through the network layer. The network protocol layerpreferably communicates information in packets.

[0011] Preferably, each of the network layer, the network protocollayer, the PAN Cell Management layer and the proximity applicationslayer are embodied in software stored in the memory of the device.

[0012] The PAN Cell Management layer preferably aggregates recurringphysical proximity detection. information (that is, physical proximityor lack of physical proximity) received from the network layer overtime. The PAN Cell Management layer preferably translates the detectioninformation received over time into one of the time-and proximity-basedevents. Each of the time-and proximity-based events is thus arepresentation of the proximity of the device in relation to the seconddevice at the time of translation. Example of time-and proximity-basedevents include, but are not limited to, an entered device proximityevent, a still within device proximity event, a temporarily left deviceproximity event, a returned to device proximity event, and an exiteddevice proximity event.

[0013] The task performed by the computer application can, for example,include communication of data to the second device or to a third device.The third device can, for example, be in “hardwired” communication withthe device. Alternatively, the third device may be in proximity with thedevice and the communication with the third device may be wirelesscommunication through the communication unit.

[0014] In a further aspect, the present invention provides a systemincluding a plurality of devices as described above.

[0015] The communication unit, the network layer, the PAN CellManagement layer and the application layer can, for example, reside in asingle mobile device. Moreover, the communication unit and the networklayer can be stationary or location bound and be separated in locationfrom the PAN Cell Management layer and the application layer. Ingeneral, the functionalities of the network layer and thefunctionalities of the PAN Cell Management layer are split into twodevices. A plurality of communication unit and network layer pairingscan also be provided with each such pairing being located at a differentposition. Each such pairing is preferably operable to detect proximitywith a mobile device and communicate information regarding detection ofphysical proximity of the mobile device to the PAN Cell Managementlayer.

[0016] In another aspect, the present invention provides a method forevent-based programming that operates upon the basis of proximity overtime between a first device and at least a second device. The methodincludes the steps of:

[0017] registering in a memory of the first device an application thatperforms a task on the basis of the occurrence of at least one of aplurality of time-and proximity-based events;

[0018] detecting if the first device and the second device are inphysical proximity in a recurring manner over time;

[0019] aggregating recurring detection or lack of detection of physicalproximity of the first device and the second device over time to producethe time-and proximity-based events, the time-and proximity-based eventsbeing representative of the proximity of the device in relation to thesecond device at the time of production thereof; and

[0020] communicating at least one of the time-and proximity-based eventsto the registered application.

[0021] As discussed above the time-and proximity-based events mayinclude an entered device proximity event, a still within deviceproximity event, a temporarily left device proximity event, a returnedto device proximity event, and an exited device proximity event. It isappreciated that anyone skilled in the art could readily use the sameprogramming model in an environment comprised of a plurality of devicesincorporating functionalities described above in the specializedentities.

[0022] In still a further aspect, the present invention provides amethod for event-based programming that operates upon the basis ofproximity over time between a plurality of stationarycommunication/detection devices in communication with a stationarycomputing device and at least one mobile device. The method includes thesteps of:

[0023] positioning each of the stationary communication/detectiondevices at a unique position within an area;

[0024] storing in the memory of the computing device an application thatperforms a task on the basis of the occurrence of at least one of aplurality of time-and proximity-based events;

[0025] detecting if the mobile device is in physical proximity with eachof the stationary communication/detection devices in a recurring mannerover time;

[0026] aggregating recurring detection or lack of detection of theproximity of each of the stationary communication/detection devices andthe mobile device over time to produce the time-and proximity-basedevents, the time-and proximity-based events being representative of theproximity of the mobile device to the area at the time of productionthereof;

[0027] communicating at least one of the time-and proximity-based eventsto the registered application.

[0028] Once again, the time-and proximity-based events can, for example,include an entered area proximity event, a still within area proximityevent, a temporarily left area proximity event, a returned to areaproximity event, and an exited area proximity event.

BRIEF DESCRIPTION of the DRAWINGS

[0029]FIG. 1 illustrates an embodiment of a Personal Area Network.

[0030]FIG. 2 illustrates an embodiment of a layered architecture fordeveloping and deploying proximity based applications.

[0031]FIG. 3 illustrates a state diagram representing translation of thedetection or lack of detection of proximity into higher-level events orstate changes such as Enter, StillHere, Leave, ComeBack and Exit events.

[0032]FIG. 4 illustrates an embodiment of a proximity-based device inwhich a communication/detection device is separated from a PAN CellManagement layer.

[0033]FIG. 5 illustrates an example of an application of the embodimentof FIG. 4.

[0034]FIG. 6 illustrates an embodiment of a proximity-based device inwhich a plurality of communication/detection device communicates with aPAN Cell Management layer.

[0035]FIG. 7 illustrates an example of an application of the embodimentof FIG. 6.

DETAILED DESCRIPTION of the INVENTION

[0036] The present invention, anticipating a world in which devices withshort-range, wireless communication systems become common, enablesand/or facilitates electronic monitoring of the physical proximitybetween electronic devices and translates physical proximity detectionor lack of physical proximity detection over time into a time-andproximity-based event. Together these events form the foundation of thetime-and proximity-based event-programming model. This event-basedprogramming model preferably specifies the way in which computerprograms attach the behavior that devices should exhibit upon occurrenceof a time-and proximity-based event (for example, when such devicesenter, leave, comeback into, exit or are still within each other'sphysical proximity).

[0037] In that regard, the present invention preferably establishes a“lifecycle” for time-and proximity-based events in a wireless networkingenvironment. The present invention enables computer programs adhering toor compliant with the event-based programming model thereof to respondto the physical proximity of other electronic devices without regard forthe underlying wireless networking technology. In general, the presentinvention monitors physical proximity over time, and translatesproximity-related changes in state (detection and non-detection) intohigher level constructs that application developers can use to specifythe behavior of applications executing on a device based upon theproximity of the device in relation to other nearby electronic devices.

[0038] Proximity-based applications preferably recognize when otherdevices are near them, query the nearby devices for the applicationsthat they support, and, optionally, decide to communicate with or usesome of these applications. The process of recognizing when devices arenear each other, querying these devices for the applications that theysupport and optionally running some of these applications are referredto as time-and proximity-based interactions in that physical proximityrecurring over time between devices triggers the interactions.

[0039] Personal Area Networks

[0040] Proximity-based applications are preferably designed or builtupon the concept of a Personal Area Network (PAN). Personal AreaNetworks are a known concept in the field of ubiquitous computing.However, as used herein, the terms “Personal Area Network” or “PAN”refer generally to a set of communications devices that are within rangeof each other (typically, within a relatively short-range—for example,within approximately ten meters).

[0041] The concept of a Personal Area Network can be further explainedwith reference to FIG. 1, in which each of the small circles A through Hrepresents a short-range communications device. Devices within the rangeof a particular short-range communications device form that device'sPersonal Area Network. For example, large circle centered at device A inFIG. 1 encompasses device A's PAN 10. In FIG. 1, device A's PAN 10includes devices B, C, D and E. In other words, devices B, C, D and Eare short-range communications devices within range of device A (thatis, device B, C, D and E can communicate with device A. Device C is alsoa part of device H's PAN 20, but device H's PAN 20 does not includedevices A, B, D or E. In that regard, device C is within communicationrange of device H but devices A, B, D and E are not within communicationrange of device H. Personal Area Networks are thus based on the physicalproximity of devices to each other, and include the set of devices thatcan communicate with a particular device at a given moment in time.

[0042] In the context of a PAN, proximity-based applications can bedefined as applications that have behavior or tasks that are programmedto occur upon the occurrence of a time-and proximity-based event orduring a time/proximity based state (for example, when devices enter,are still within, leave, comeback into and/or exit each other's PANs).

[0043] Architecture

[0044]FIG. 2 illustrates an embodiment of a layered architecture fordeveloping and deploying proximity-based applications between, forexample, a device 100 and a device 100′.

[0045] Network

[0046] Network layer 110 of devices 100 and 100′ is a short-rangecommunications medium or specification that communicates throughcommunication unit 105. Network layer 110 preferably provides higherlayers with functionality that enables data (for example, data packets)to be sent from one device to another. Network layer 110 also preferablyprovides mechanisms for the determination or detection of physicalproximity. Examples of short-range communications media or specificationsuitable for use in the present invention include IR and short-rangeradio solutions such as the Bluetooth™ Technology of the BluetoothSpecial Interest Group as set forth in the Bluetooth SpecificationRelease 1.0. The Bluetooth specification specifies a system solutioncomprising hardware, software and interoperability requirements andoperates in a common 2.4 GHZ ISM band.

[0047] Network Protocol

[0048] Network Protocol layer 120 is built on top of raw network layer110. Network Protocol layer 120 preferably provides support for routingdata, preferably in the form of packets, between devices andassembling/disassembling large amounts of data into a format (forexample, packets) that network 110 layer can transport. Examples ofnetwork protocols suitable for use in the present invention includeTCP/IP, UDP/IP and IPX.

[0049] PAN Cell Management

[0050] PAN Cell Management layer 130 is preferably also built on top ofnetwork layer 110. Pan Cell Management layer 130 preferably takesinformation regarding detection of physical proximity over time fromnetwork layer 110 and translates this detection information intohigher-level time-and proximity-based events such as Enter, StillHere,Leave, Comeback and Exit. Examples of data structures suitable for useto perform this translation are described below.

[0051] PAN Cell Management layer 130 also preferably provides amechanism or mechanisms that allow Proximity Applications to registerinterest in specific events. For example, a “people finder” applicationmay register interest in all proximity events associated with otherpeople finder applications. In other words, when the people finderProximity Application registers an interest in such events, it isrequesting to be notified of proximity events of other devices having apeople finder application stored thereon.

[0052] The discovery of an application on a remote device is a knownprocess in the computer arts. Examples of such application discoveryprocesses include Salutation by The Salutation Consortium™ and Java™Jini™ available from Sun Microsystems, Inc. of Palo Alto, Calif.

[0053] Proximity Applications

[0054] Proximity application layer 140 preferably includes one or moreapplications that receive the high-level time-and proximity-based eventsspecified by PAN Cell Management layer 130 and perform some specifiedtask or behavior triggered by such events. Thus, proximity applicationsare preferably completely independent of underlying network layer 110.

[0055] The architecture of FIG. 2 is explained further with reference tothe following example:

[0056] 1. A device X has a PAN including 0 other devices.

[0057] 2. A device Y has a PAN including 0 other devices.

[0058] 3. At some point, X and Y come into physical proximity: X detectsY's physical proximity and Y detects X'S physical proximity preferablyusing communication unit 105 such as the Bluetooth chip available fromDigianswer A/S of Denmark, which supports the Bluetooth specificationand is in communication with (or is part of) network layer 110.

[0059] 4. Network layers 110 of devices X and Y forward recurringdetection of physical proximity to X's and Y'S PAN Cell Managementlayers 130. The first detection of physical proximity is translated intoan Enter event. PAN Cell Management layer 130 of each of device X and Yconverts detection of proximity over time into other time-andproximity-based events.

[0060] 5. Using application discovery, X and Y preferably discover theproximity applications the other device supports upon the initialdetection of physical proximity.

[0061] 6. Based on interests registered to PAN Cell Management layer 130by a device's proximity applications, some of those proximityapplications will be notified of the Enter event and subsequent time-andproximity-based events of a particular device.

[0062] Description of PAN Cell Management

[0063]FIG. 3 illustrates a state diagram that describes the translationof the detection or lack of detection of physical proximity into thehigher-level proximity-based events such as Enter, StillHere, Leave,ComeBack and Exit as illustrated in FIG. 3.

[0064] In the embodiment of FIG. 3, PAN Cell Management layer 130preferably keeps track of two pools of devices referred to as an AlivePool and a Suspended Pool. The Alive Pool includes devices PAN CellManagement layer 130 knows to be “alive” within its PAN at any givenmoment in time. The Suspended Pool includes devices PAN Cell Managementlayer 130 formerly knew about. The devices of the Suspended Pool arecurrently not within physical proximity of the device, but these deviceswere in the physical proximity of the device within a certain amount oftime prior to the current time.

[0065] Using these two pools. PAN Cell Management layer 130 generatestime-and priority-based events in the following manner, in which theexemplary events Enter, StillHere, Leave, ComeBack and Exit aredescribed:

[0066] Enter

[0067] When PAN Cell Management layer 130 detects physical proximitywith a given device for the first time it preferably fires an Enterevent and places this device in the Alive Pool.

[0068] StillHere

[0069] At periodic intervals (potentially user and/or developerspecified) All subsequent detections of proximity for a device in theAlive Pool preferably cause PAN Cell Management layer 130 to fire aStillHere event.

[0070] Leave

[0071] If physical proximity is not detected for a device in the AlivePool, then a Leave event is preferably fired. The device is now moved tothe Suspended Pool.

[0072] Comeback

[0073] If physical proximity is detected for a device in the SuspendedPool within a certain period of time (potentially user and/or developerspecified), then a Comeback event is preferably fired and the device ismoved to the Alive Pool.

[0074] Exit

[0075] If physical proximity is not detected for a device in theSuspended pool for the given amount of time in which a Comeback eventcan be fired, then an Exit event is preferably fired.

[0076] Techniques for implementing these types of event system are wellknown in the art. Although clearly other means of implementation areavailable to implement the system herein described.

[0077] Example of Proximity Applications

[0078] The proximity-based applications in Proximity Application layer140 of the architecture of FIG. 2 need only specify the task or behaviorthat the application should exhibit in response to the time-andproximity-based events supplied by the PAN Cell Management layer (forexample, Enter, StillHere, Leave, ComeBack and Exit events). Thefollowing example illustrates the operation of one embodiment of aproximity-based application:

[0079] Suppose that one wishes to write a People Finder Application thatwill display people who are currently within a device user's PAN. TheEnter event would query the other device for the name of the personowning the device and update the user interface with this name. TheLeave event would temporarily remove the name of the person owning thedevice that left the current PAN from the user interface.

[0080] The Comeback event would restore the name to the user interface.The Exit event would “permanently” remove the name from the userinterface until any subsequent Enter event for the device of that user.

[0081] The above example illustrates a peer-to-peer proximity-basedapplication between two mobile proximity devices. Many othercommunication routes are possible. For example, it is also possible foran application to forward the proximity events to a third partyapplication (that is, to an application on a third device) thatimplements the behavior that should be displayed when events of interestoccur.

[0082] Wireless mobile device 100 of the present invention cancommunicate with other mobile devices as described above or with one ormore non-mobile or stationary devices (for example, a computer or awired network of computers and other devices). In one aspect, a mobiledevice 100 can communicate with an immobile communication/detectiondevice 101′ that is in communicative connection with a proximityapplication device 200 (for example, a server) as illustrated in FIG. 4.Together, device 200 and communication/detection device 101′ logicallyfunction as a single proximity device. An important distinction betweendevice 100 and the combination of communication/detection device 101′and device 200 is the mobility of device 100, which is preferably usedby a dynamic entity that moves around. Combined device 101′/200 in thisembodiment are immobile and are preferably used to provide services (forexample, information, computing services etc.) to nearby dynamicentities such device 100.

[0083] Network layers 110 and 110′ of devices 100 and 101′,respectively, preferably include a short-range communications medium orspecification that communicates through a communication unit asdescribed above. Network layers 110 and 110′ preferably provide higherlayers with functionality that enables data (for example, data packets)to be sent from one device to another. Network layers 110 and 110′ alsopreferably provide mechanisms for the determination or detection ofphysical proximity as described above (using, for example, the Bluetoothtechnology). Network layers 110 and 110′ are similar in term offunctionalities, however one skilled in the art will appreciate the factthat network layer of device 101′ and device 100 can be readily scaledto interact with large number of proximity-enabled devices.

[0084] Network layers 210 and 210′ of devices 200 and 101′,respectively, can incorporate a wired or a wireless communicationmedium, or any combination of wired and wireless communication media, aslong as Network layers 210 and 210′, together with Network Protocollayers 211 and 211′ provide a data communication service or link betweencommunication/detection device 101′ and device 200. Any common NetworkProtocol layer (for example TCP/IP, UDP/IP, or IPX) is suitable forNetwork Protocol layers 211, 211′, 111 and 111′.

[0085] PAN Cell Management layers on both devices 200 and 100 in FIG. 4can, for example, operate as described above. Likewise, ProximityApplications layer on both device 200 and 100 in FIG. 4 can, forexample, operate as described above.

[0086] Example of Proximity Applications

[0087] The following example illustrates the operation of one embodimentof a proximity-based application in a store environment.

[0088]FIG. 5 illustrates, for example, a retail store 300 with its roughlayout depicted by solid lines indicating walls and an entrance 310. Asingle communication/detection device 101′ is, for example, installedgenerally in the center of the retail store 300. Dashed circle 101″surrounding communications/detection device 101′ represents theproximity communication/detection range of device 101′. A customer Cequipped with a device such as device 100 enters retail store 300 at aposition represented by a solid circle in FIG. 5. Network layer 110′ ofthe communication/detection device informs PAN Cell Management on device200 that the presence of a proximity-enabled client on the person ofcustomer C was detected, and PAN Cell Management translates thatnotification into higher level time-based proximity event Enter andpasses it to the Proximity Application layer. The Proximity Applicationlayer of device 200 may perform certain actions as described above (forexample, communicating information to the Proximity Application layer ofthe proximity-enabled client on the person of customer C). When client Clater proceeds to position outside range 101″ of device 101′,communication/detection device 101′ informs PAN Cell Management ofdevice 200 of the absence of client C. PAN Cell Management translatesthat notification into a Leave event and passes it to the ProximityApplication layer.

[0089] Multiple stationary communication/detection devices 101′ can beused to, for example, cover increased area or more distinctly describethe relation of a detected mobile device. FIG. 6 illustrates a mobiledevice 100 in communication with one or more of a group ofcommunication/detection devices 101′ and, there through, with proximityapplication device 200. Each of communication/detection devices 101′ isin communication with device 200 (via wired and/or wirelesscommunication). Communication/detection devices 101′ are preferably usedto detect physical proximity between them and another device or devices.Together, communication/detection devices 101′ can logically function asa single communication/detection device as described in greater detailbelow.

[0090] Network layers 110 and 110′ of device 100 and devices 101′,respectively, operate as described above. The same applies to Networklayers 210 and 210′ of device 200 and devices 101′, respectively.

[0091] PAN Cell Management layer on device 200 in FIG. 6 preferablyemploys a more complex algorithm (than previously described) todetermine the proper higher-level time-based proximity event it providesto the proximity application layer. This algorithm is dependent on thespecific deployment configuration of communication/detection devices101′ and is used to surmise the current proximity state of client C withrespect to the set of communication/detection devices 101′.

[0092] Example of Proximity Applications

[0093] The following example illustrates the operation of one embodimentof a proximity-based application in a store environment with multiplecommunication/detection devices 101 a-d.

[0094]FIG. 7 illustrates a retail store 300 with its rough layoutdepicted by solid lines indicating walls and an entrance 310. Fourcommunication/detection devices 101 a, 101 b, 101 c and 101 d arerepresented as solid black circles, with corresponding surroundingdashed circles representing the proximity communication/detection rangesof communication/detection devices 101 a, 101 b, 101 c and 101 d. Device200 is represented as a solid black square. A customer C equipped with amobile device (for example, device 100) enters store 300. Customer C isimmediately detected by communication/detection device 101 d. Thenetwork layer of communication/detection device 101 d informs the PANCell Management on device 200 of the proximity of customer C. Thisinformation will in turn be translated into the time and proximity-basedevent Enter by the PAN Cell Management layer, and passed on to theProximity application layer. Applications in the Proximity Applicationslayer can initiate or take certain actions, such as giving customer C acoupon on goods in which he or she might be interested (by communicationwith the Proximity Application layer of device 100). If customer Cproceeds to a position represented by the designation C′,communication/detection device 101 d can no longer detect the presenceof customer C. However, communication/detection device 101 b is able todetect the presence of customer C. Therefore, the PAN Cell Management ofdevice 200 is aware of the continued presence of customer C. Theapplication interactions that were taking place viacommunication/detection device 101 d between retail store and customer Cwill be continued via communication/detection device 101 b. Ifsubsequently, customer C moves to a position designated by C″, none ofcommunication/detection devices 101 a-d can detect customer C. However,for customer C to leave store 300, customer C must pass through the areacovered by communication/detection device 101 d. In other words,communication/detection device 101 d must be the lastcommunication/detection device to report detection of proximity ofcustomer C for a Leave event to have occurred (Exit 310 is within therange of only communication/detection device 101 d). Because that wasnot the case in the above scenario (communication/detection device 101 bwas the last communication/detection device to report detection ofproximity of customer C), the PAN Cell Management of device 200 willcontinue to register customer C as present in retail store 300, despitethe fact that no communication/detection device can detect customer C.The Proximity Applications layer of device 200 can pause ongoingapplication interactions and resume such interactions once the proximityof customer C is detected again. Finally, if customer C, for example,traverses through the areas covered by communication devices 101 a, 101c and 101 d, and then exits store 300 via exit 310, PAN Cell Managementof device 200 will interpret the absence of the customer as a Leaveevent (and, eventually, an Exit event), since communication/detectiondevice 101 d was the last communication/detection device able to pick upthe presence of customer C. The Proximity Applications layer on device200 can, at this point, stop all application services offered to theexited customer C.

[0095] Although the present invention has been described in detail inconnection with the above examples, it is to be understood that suchdetail is solely for that purpose and that variations can be made bythose skilled in the art without departing from the spirit of theinvention except as it may be limited by the following claims.

What is claimed is:
 1. A device for proximity-based communicationbetween the device and at least a second device, the device comprising:at least one communication unit adapted to communicate between the firstdevice and the second device in a wireless manner; at least one networklayer that includes a communication specification for communicatinginformation between the device and the second device through thecommunication unit, the network layer being adapted to detect proximitybetween the device and the second device and communicate informationregarding detection of physical proximity between the device and thesecond device or a lack of detection of physical proximity between thedevice and the second device; a PAN Cell Management layer that receivesthe physical proximity information from the network layer over time, thePAN Cell Management layer translating the physical proximity detectioninformation received over time into time-and proximity-based events; andan application layer including a memory in which at least one computerapplication is stored, the PAN Cell Management layer communicatinginformation of occurrence of at least one of the time-andproximity-based events to the computer application so that the computerapplication can perform a task programmed to be performed on occurrenceof one of the proximity-based events.
 2. The device of claim 1 furtherincluding a network protocol layer that includes a protocol fortransmission of data between the device and the second device throughthe network layer.
 3. The device of claim 2 wherein network protocollayer communicates information in packets.
 4. The device of claim 1wherein the PAN Cell Management layer aggregates recurring physicalproximity detection information received from the network layer overtime to translate the physical proximity detection information into oneof the time-and proximity-based events, the one of the time-andproximity-based events being a representation of the proximity of thedevice in relation to the second device at the time of translation. 5.The device of claim 4 wherein the time-and proximity-based eventsinclude an entered device proximity event, a still within deviceproximity event, a temporarily left device proximity event, a returnedto device proximity event, and an exited device proximity event.
 6. Thedevice of claim 1 wherein the task performed by the computer applicationincludes communication with a third device.
 7. The device of claim 6wherein the third device is in proximity with the device and thecommunication with the third device is wireless communication throughthe communication unit.
 8. The device of claim 1 wherein the computerprogram registers in memory an interest in time-and proximity-basedevents for at least one other computer program on the second device. 9.The device of claim 1 wherein the communication unit, the network layer,the PAN Cell Management layer and the application layer reside in asingle mobile device.
 10. The device of claim 1 wherein thecommunication unit and the network layer are stationary and areseparated in location from the PAN Cell Management layer and theapplication layer.
 11. The device of claim 1 including a plurality ofcommunication unit and network layer pairing, each pairing being locatedat a different position, each pairing being operable to detect proximitywith the second device and communicate information regarding detectionof physical proximity of the second device to the PAN Cell Managementlayer.
 12. The device of claim 11 wherein the PAN Cell Management layertakes into account historical information received from each of thepairings in translating the physical proximity detection informationreceived over time into time-and proximity-based events.
 13. A methodfor event-based programming that operates upon the basis of proximityover time between a first device and at least a second device, themethod comprising the steps of: storing in the memory of the firstdevice an application that performs a task on the basis of theoccurrence of at least one of a plurality of time-and proximity-basedevents; detecting if the first device and the second device are inphysical proximity in a recurring manner over time; aggregatingrecurring detection or lack of detection of the proximity of the firstdevice and the second device over time to produce the timeandproximity-based events, the time-and proximity-based events beingrepresentative of the proximity of the device in relation to the seconddevice at the time of production thereof; communicating at least one ofthe time-and proximity-based events to the registered application. 14.The method of claim 13 wherein the time-and proximity-based eventsinclude an entered device proximity event, a still within deviceproximity event, a temporarily left device proximity event, a returnedto device proximity event, and an exited device proximity event.
 15. Themethod of claim 13 further comprising the step of registering in memoryfor the application stored on the first device an interest in time-andproximity-based events for at least one other application stored on thesecond device.
 16. A method for event-based programming that operatesupon the basis of proximity over time between a plurality of stationarycommunication/detection devices in communication with a stationarycomputing device and at least one mobile device, the method comprisingthe steps of: positioning each of the stationary communication/detectiondevices at a unique position within an area; storing in the memory ofthe computing device an application that performs a task on the basis ofthe occurrence of at least one of a plurality of time-andproximity-based events; detecting if the mobile device is in physicalproximity with each of the stationary communication/detection devices ina recurring manner over time; aggregating recurring detection or lack ofdetection of the proximity of each of the stationarycommunication/detection devices and the mobile device over time toproduce the time-and proximity-based events, the time-andproximity-based events being representative of the proximity of themobile device to the area at the time of production thereof;communicating at least one of the time-and proximity-based events to theregistered application.
 17. The method of claim 16 wherein the time-andproximity-based events include an entered area proximity event, a stillwithin area proximity event, a temporarily left area proximity event, areturned to area proximity event, and an exited area proximity event.18. The method of claim 16 wherein mobile device includes: at least onecommunication unit adapted to communicate with any of thecommunication/detection devices in a wireless manner; at least onenetwork layer that includes a communication specification forcommunicating information between the mobile device and any one of thecommunication/detection devices through the communication unit, thenetwork layer being adapted to detect proximity between the mobiledevice and any one of the communication/detection devices andcommunicate information regarding detection of physical proximitybetween the device and any one of the communication/detection devices ora lack of detection of physical proximity between the device and any oneof the communication/detection devices; a PAN Cell Management layer thatreceives the physical proximity information from the network layer overtime, the PAN Cell Management layer translating the physical proximitydetection information received over time into time-and proximity-basedevents; and an application layer including a memory in which at leastone computer application is stored, the PAN Cell Management layercommunicating information of occurrence of at least one of the time-andproximity-based events to the computer application so that the computerapplication can perform a task programmed to be performed on occurrenceof one of the proximity-based events.
 19. A system comprising aplurality of devices as set forth in claim 1.